home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / c / tcclib.exe / PUTTIME.C < prev    next >
Encoding:
C/C++ Source or Header  |  1989-07-18  |  936 b   |  48 lines

  1. void AtSayF( int x, int y, char *ftm, ... );
  2.  
  3. #include <dos.h>
  4.  
  5. void PutTime( int x, int y, int format )
  6. {
  7. /*
  8.     formats:  1 = hh:mm:ss (military)
  9.               2 = hh:mm    (military)
  10.               3 = hh:mm:ss AM/PM
  11.               4 = hh:mm    AM/PM
  12. */
  13.     struct time tm;
  14.     char c;
  15.  
  16.     gettime( &tm );
  17.     switch( format ) {
  18.         case 1:
  19.             AtSayF( x, y, "%2d:%02d:%02d",
  20.                 tm.ti_hour, tm.ti_min, tm.ti_sec );
  21.             break;
  22.         case 2:
  23.             AtSayF( x, y, "%2d:%02d",
  24.                 tm.ti_hour, tm.ti_min );
  25.             break;
  26.         case 3:
  27.             c = 'A';
  28.             if ( tm.ti_hour > 11 ) {
  29.                 c = 'P';
  30.                 tm.ti_hour -= 12;
  31.             }
  32.             if ( tm.ti_hour == 0 )  tm.ti_hour = 12;
  33.             AtSayF( x, y, "%2d:%02d %cM",
  34.                 tm.ti_hour, tm.ti_min, tm.ti_sec, c );
  35.             break;
  36.         case 4:
  37.             c = 'A';
  38.             if ( tm.ti_hour > 11 ) {
  39.                 c = 'P';
  40.                 tm.ti_hour -= 12;
  41.             }
  42.             if ( tm.ti_hour == 0 )  tm.ti_hour = 12;
  43.             AtSayF( x, y, "%2d:%02d %cM",
  44.                 tm.ti_hour, tm.ti_min, c );
  45.             break;
  46.     }
  47. }
  48.